Image encoding and decoding method and apparatus using edge synthesis and inverse wavelet transform

ABSTRACT

A digitized image is encoded by detecting edges in the image, encoding the position and sharpness of the detected edges, filtering the image by a low-pass filter to generate a low-frequency image, and encoding the low-frequency image. A digitized image encoded in this way is reconstructed by generating a horizontal edge image and a vertical edge image from the encoded edge position and sharpness information, synthesizing a pair of high-frequency images by filtering the horizontal and vertical edge images with an edge synthesis filter, decoding the low-frequency image, and performing an inverse wavelet transform on the decoded low-frequency image and the high-frequency images.

BACKGROUND OF THE INVENTION

[0001] This invention relates to a compressive image encoding anddecoding method using edge synthesis and the inverse wavelet transform,and to digital image encoding and decoding devices employing thismethod.

[0002] Compression is essential for efficient storage and transmissionof digitized images. Compression methods have been described by theJoint Photographic Experts Group (JPEG) for still images, and the MotionPicture Experts Group (MPEG) for moving images. The JPEG method involvesa discrete cosine transform (DCT), followed by quantization andvariable-length encoding. The MPEG method involves detecting motionvectors. Both methods require substantial computation, the detection ofmotion vectors being particularly demanding.

[0003] Recently there has been much interest in the wavelet transform asa means of obtaining high compression ratios with relatively modestamounts of computation. This transform employs a family of waveletsrelated by dilation and translation; that is, the family consists ofoccurrences of the same basic wavelet at different locations and ondifferent scales. If the scales form a progressively doubling sequence,and if the basic wavelet is zero everywhere except in a limited domain,wavelet transforms and inverse wavelet transforms can be carried outwith efficient computational algorithms.

[0004] A wavelet transform can be described as a filtering processexecuted at each wavelet scale. A digitized image, for example, istransformed by filtering with the basic wavelet, then with the basicwavelet dilated by a factor of two, then with the basic wavelet dilatedby a factor of four, and so on.

[0005] One prior-art wavelet encoding scheme employs a complementarypair of wavelets to divide an image into a high-frequency component anda low-frequency component. These components contain information aboutvariations on scales respectively less than and greater than a certaincut-off scale. This process is iterated on the low-frequency componentwith a doubling of the wavelet scale, obtaining new low-frequency andhigh-frequency components, then iterated again on the new low-frequencycomponent, and so on. After a certain number of iterations, thecomponents are encoded by an encoding scheme that works from low- towardhigh-frequency information. This scheme enables accurate imagereconstruction, but retains too much high-frequency information toachieve high compression ratios.

[0006] Another prior-art wavelet encoding scheme employs a basic waveletthat is the first derivative of a smoothing filter (that is, the firstderivative of a low-pass filtering function). This type of wavelet actsas a high-pass filter. High-frequency information is obtained bydetecting local peaks (local maxima of absolute values) in the result ofthe wavelet transform, which correspond to edges in the original image.The size and location of the peak values at a selected scale areencoded, along with a low-frequency image obtained by smoothing at thelargest scale of the wavelet transform. Fairly high compression ratioscan be obtained in this way.

[0007] To reconstruct the original image from the encoded data, thisprior-art method employs an algorithm derived from a mathematicalprocedure involving iterated projections in Hilbert space. Under idealconditions, the projections converge toward a unique set of data that(i) have the required local peak values and (ii) are within the range ofthe wavelet transform operator. An inverse wavelet transform is thencarried out on the converged data to obtain the original image.

[0008] It has yet to be shown, however, that the projections alwaysconverge, or that data satisfying conditions (i) and (ii) are unique. Inpractice, there is difficulty in knowing when to stop iterating. Forsome images, it seems that data satisfying (i) and (ii) are not unique,and instead of converging, the iteration wanders endlessly throughHilbert space, first approaching the desired image transform, thenmoving away again.

[0009] Still higher compression ratios have been obtained by a fractalcompression scheme, but this requires a very large amount of computationin the encoding process.

SUMMARY OF THE INVENTION

[0010] It is accordingly an object of the present invention to encodedigitized images efficiently, with a high compression ratio but withoutrequiring extensive computation.

[0011] Another object of the invention is to encode moving imagesefficiently.

[0012] Still another object is to reconstruct digitized images fromencoded information efficiently and reliably.

[0013] Yet another object is to reconstruct digitized moving imagesefficiently and reliably.

[0014] The invented method of encoding a digitized image comprises thesteps of:

[0015] detecting edges in the digitized image;

[0016] encoding the position and sharpness of the detected edges togenerate edge information;

[0017] filtering the digitized image by a low-pass filter to generate alow-frequency image; and

[0018] encoding the low-frequency image to generate low-frequencyinformation.

[0019] The invented method of reconstructing a digitized image encodedby the invented encoding method comprises the steps of:

[0020] generating a horizontal edge image and a vertical edge image fromthe encoded edge information;

[0021] synthesizing a pair of high-frequency images by filtering thehorizontal edge image and vertical edge image with an edge synthesisfilter;

[0022] decoding the encoded low-frequency information to obtain alow-frequency image; and

[0023] performing an inverse wavelet transform on the low-frequencyimage and the high-frequency images.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 is a block diagram of a digital image encoder in a firstembodiment of the invention.

[0025]FIG. 2 is a block diagram of a digital image decoder in the firstembodiment.

[0026]FIG. 3 is a graph illustrating pixel values at an edge.

[0027]FIG. 4 is a graph illustrating pixel values at another edge.

[0028]FIG. 5 is a graph illustrating pixels that do not form an edge.

[0029]FIG. 6 is a block diagram of the edge synthesizer in a secondembodiment of the invention.

[0030]FIG. 7 is a block diagram of the digital image encoder in a thirdembodiment of the invention.

[0031]FIG. 8 is a block diagram of the digital image decoder in thethird embodiment.

[0032]FIG. 9 is a block diagram of the digital image encoder in a fourthembodiment.

[0033]FIG. 10 is a block diagram of the digital image encoder in a fifthembodiment.

[0034]FIG. 11 is a block diagram of the digital image decoder in thefifth embodiment.

[0035]FIG. 12 is a block diagram of the digital image encoder in a sixthembodiment.

[0036]FIG. 13 is a block diagram of the digital image encoder in aseventh embodiment, for encoding moving images.

[0037]FIG. 14 is a block diagram of the digital image decoder in theseventh embodiment.

[0038]FIG. 15 is a block diagram of the digital image encoder in aneighth embodiment.

[0039]FIG. 16 is a block diagram of the digital image encoder in a ninthembodiment.

[0040]FIG. 17 is a block diagram of the digital image encoder in a tenthembodiment.

[0041]FIG. 18 is a block diagram of the digital image decoder in thetenth embodiment.

[0042]FIG. 19 is a block diagram of the digital image encoder in aneleventh embodiment.

[0043]FIG. 20 is a block diagram of the digital image encoder in atwelfth embodiment.

DETAILED DESCRIPTION OF THE INVENTION

[0044] Embodiments of the invention will be now described with referenceto the attached illustrative drawings, starting with the simplest casein which the inverse wavelet transform is limited to a single scale. Thefollowing terminology will be used.

[0045] A (two-dimensional) digitized image is an array of pixels havingvalues x(i, j), where the horizontal coordinate i and verticalcoordinate j range over sets of integers. The range of these coordinatesis the size of the image, i.e. the number of pixels in the horizontaland vertical directions. The pixel values represent, for example,intensity gradations.

[0046] A one-dimensional image is a horizontal or vertical line in atwo-dimensional digitized image, i.e. a set of pixels with values x(i)indexed by a single coordinate.

[0047] A standard edge is a one-dimensional image having just one sharpvariation point. An example would be an image with pixel values thatchange first at one constant rate, then at a different constant rate,such as the following:

[0048] . . . 2.0 1.5 1.0 0.5 0 0.5 1.0 1.5 2.0 . . .

[0049] In this standard edge the pixel values first decrease at a rateof −0.5 per pixel, then increase at a rate of +0.5 per pixel. Otherstandard edges of the same general type are shown in FIGS. 3 and 4. Astandard edge serves as a basic model for all the edges occurring in adigitized image.

[0050] Down-sampling a digitized image means reducing its size by aprocess generally analogous to photographic reduction. Up-sampling meansincreasing the size of an image by a process generally analogous tophotographic enlargement. In up- or down-sampling the entire image isenlarged or reduced, its features increasing or decreasing in scale.

[0051] A (one-dimensional) filter is a set of coefficients f(k), where kranges over the integers. The non-zero coefficients f(k) are the taps ofthe filter.

[0052] The Fourier transform F of a filter f is defined as follows,where summation is over all taps, e is the natural logarithm base, and jis the square root of minus one.${F(\omega)} = {\sum\limits_{k}{{f(k)} \cdot ^{{- j}\quad \omega \quad k}}}$

[0053] The conjugate f* of a filter f is obtained by reversing the orderof coefficients:

f*(k)=f(−k)

[0054] The Fourier transform of f* is therefore the complex conjugate ofthe Fourier transform of f.

[0055] A filter has even symmetry around i₀ if it has equal values onboth sides of i₀; that is, for all integers k:

f(i ₀ −k)=f(i ₀ +k)

[0056] In particular, a filter has even symmetry around zero if it isequal to its own conjugate.

[0057] A filter has odd symmetry around i₀ if it has opposite values onboth sides of i₀, that is:

f(i ₀ −k)=−f(i ₀ +k)

[0058] A filter satisfies the exact reconstruction condition if itsfourier transform F satisfies the following condition for all values ofω:

|F(ω)|² +|F(ω+π)|²=1

[0059] Two filters with Fourier transforms G and H satisfy the exactreconstruction condition if:

|G(ω)|² +|H(ω)|²=1

[0060] Filters satisfying these exact reconstruction conditions, alsoreferred to as perfect reconstruction conditions, are well known in thewavelet transform art. A pair of filters satisfying the second exactreconstruction condition above is referred to as a complementary pair.

[0061] To filter a one-dimensional image x by a filter f means to obtaina new one-dimensional image y with the following pixel intensities:${y(i)} = {\sum\limits_{k}{\times {( {i + k} ) \cdot {f(k)}}}}$

[0062] This operation is equivalent to the conventional convolutionoperation using the conjugate filter f*.${y(i)} = {\sum\limits_{k}{\times {( {i - k} ) \cdot f}*(k)}}$

[0063] The difference between convolution and filtering, as the term isused herein, is purely one of notation. The meaning of the followingdescription and claims would be unchanged if the terms convolution andconvolve were used throughout.

[0064] To filter a digitized image x horizontally by a filter f means toobtain a new image y as follows:${y( {i,j} )} = {\sum\limits_{k}{\times {( {{i + k},j} ) \cdot {f(k)}}}}$

[0065] Similarly, filtering image x vertically by f means:${y( {i,j} )} = {\sum\limits_{k}{\times {( {i,{j + k}} ) \cdot {f(k)}}}}$

[0066] Filtering can be done two-dimensionally by, for example,filtering first in the horizontal direction, then in the verticaldirection, or vice versa.

[0067] A high-pass filter is a filter that retains small-scalevariations and rejects large-scale variations. A low-pass filter rejectssmall-scale variations and retains large-scale variations. Smoothingfilter is a synonym for low-pass filter.

[0068] The cut-off frequency of a high-pass or low-pass filter indicatesthe scale that divides the retained variations from the rejectedvariations. A lower cut-off frequency corresponds to a larger scale ofvariations. Frequency actually refers to the variable ω in the Fouriertransform F(ω) of the filter.

[0069] Generally speaking, the Fourier transform of a high-pass filtersatisfies F(0)=0, while for a low-pass filter, |F(0)|>0. If |F(0)|=1, alow-pass filter can retain large-scale variations without changing theirrange of variation. Incidentally, F(0) is the sum of the filtercoefficients f(k).

[0070] First Embodiment

[0071] Referring to FIG. 1, the digital image encoder in the firstembodiment comprises an input terminal 10, smoothing filter 20, edgedetector 21, encoding section 22, and down sampler 23. The encodingsection 22 comprises an edge image encoder 24, low-frequency imageencoder 25, and multiplexer 26.

[0072] A digitized image X₀ is input from the input terminal 10 to boththe smoothing filter 20 and edge detector 21. The smoothing filter 20outputs a low-frequency image X₁ to the down sampler 23, which outputs areduced image R to the low-frequency image encoder 25 in the encodingsection 22. The low-frequency image encoder 25 encodes the reduced imageR to obtain low-frequency information Cr. The edge detector 21 detectsedges in the input image X₀ and outputs horizontal and vertical edgeimages Sh and Sv to the edge image encoder 24 in the encoding section22. The edge image encoder 24 encodes these edge images to obtain edgeinformation Cs. The multiplexer 26 combines the low-frequencyinformation Cr and edge information Cs into an encoded image C, which isoutput to a first input/output device 27 such as a communicationchannel, semiconductor memory, or magnetic disk storage device.

[0073] Referring to FIG. 2, the digital image decoder has a decodingsection 28 comprising a demultiplexer 30, edge information decoder 31,and low-frequency information decoder 32. The digital image decoder alsohas an edge synthesizer 34, up sampler 35, and inverse wavelet transformprocessor 36.

[0074] The demultiplexer 30 receives the encoded image C from the firstinput/output device 27 and separates it into edge information Cs, whichit supplies to the edge information decoder 31, and low-frequencyinformation Cr, which it supplies to the low-frequency informationdecoder 32. The edge information decoder 31 decodes Cs to obtain theedge images Sh and Sv, from which the edge synthesizer 34 synthesizeshorizontal and vertical high-frequency images Yh and Yv. Thelow-frequency information decoder 32 decodes Cr to obtain a decodedreduced image R′, which the up sampler 35 enlarges to obtain a decodedlow-frequency image X₁′. The inverse wavelet transform processor 36receives the high-frequency images Yh and Yv from the edge synthesizer34 and the low-frequency image X₁′ from the up sampler 35, carries outan inverse wavelet transform, and outputs a reconstructed image X₀′ toan input/output device 37 such as a video display unit or printer.

[0075] Each of the elements in the FIGS. 1 and 2 comprises a memory forstoring data and well-known circuits for performing arithmetic and logicoperations. Descriptions of the circuit configurations will be omittedto avoid obscuring the invention with irrelevant detail. The entiredigital image encoder can be fabricated as a single semiconductorintegrated circuit, or can be built from a small number of suchcircuits; likewise the digital image decoder. The invention can also bepracticed by providing a general-purpose processor such as amicroprocessor or digital signal processor with memory for storing dataand programs for executing the functions of the individual elements inFIG. 1 or FIG. 2.

[0076] Next the operation will be described, starting with the operationof the encoder in FIG. 1.

[0077] The input image X₀ is a digitized image with pixel values X₀(i,j). The smoothing filter 20 is a low-pass filter with even symmetryaround zero and an odd number of taps. The tap coefficients will bedenoted h_(o)(k), where k ranges from −N to N, so the filter has 2N+1taps and the even symmetry condition is:

h _(o)(−k)=h _(o)(k)

[0078] (k=1, 2, . . . , N)

[0079] The low-pass filter h_(o) satisfies the exact reconstructioncondition, and the sum of its tap coefficients is plus or minus one.That is, its Fourier transform H_(o) satisfies the following conditions:$\begin{matrix}{{{{H_{o}(\omega)}}^{2} + {{H_{o}( {\omega + \pi} )}}^{2}} = 1} \\{{{H_{o}(0)}} = 1}\end{matrix}$

[0080] The smoothing filter 20 performs a two-dimensional low-passfiltering operation by filtering the input image X₀ with h_(o)horizontally and vertically, obtaining:${X_{1}( {i,j} )} = {\sum\limits_{k = {- N}}^{N}\quad {\sum\limits_{l = {- N}}^{N}\quad {{X_{0}( {{i + k},{j + l}} )} \cdot {h_{o}(k)} \cdot {h_{o}(l)}}}}$

[0081] The down sampler 23 down-samples the low-frequency image X₁output by the smoothing filter 20, thereby reducing the amount of imagedata. One simple method of down-sampling is to divide the image intoblocks of M×M pixels each, and replace each block by a representativepixel value such as the mean or median value in the block. This reducesthe size of the image by a factor of M in both the horizontal andvertical directions, and reduces the amount of image data by a factor ofM². The reduced image R output by the down sampler 23 resembles aphotographic reduction of the original image X₀.

[0082] The low-frequency image encoder 25 encodes the reduced image Rby, for example, performing a discrete cosine transform, quantizing theresulting DCT coefficients, and encoding them in zig-zag order by avariable-length encoding method. Alternatively, the reduced image R canbe encoded by a predictive encoding method similar to the differentialpulse-code modulation method (DPCM) commonly employed for audio signals,or by any other suitable method. If the above value of M is sufficientlylarge, high coding efficiency is not critically important, because theamount of data to be encoded has already been greatly reduced bydown-sampling.

[0083] The edge detector 21 detects edges in the input image X₀ bydetecting variations in the rate of change of pixel values from pixel topixel. More specifically, edge detector 21 takes differences betweenadjacent pixel values, then takes differences between these differences,and finally performs a thresholding operation to reduce smalldifferences to zero. This process is carried out separately in thehorizontal and vertical directions.

[0084] In the horizontal direction, for each pixel, the edge detector 21computes the following pixel difference Pdh(i, j):

Pdh(i, j)=X ₀(i, j)−X ₀(i−1, j)

[0085] Next it computes differences Sh(i, j) of these pixel differencesPdh(i, j) as follows:

Sh(i, j)=Pdh(i+1, j)−Pdh(i, j)

=X ₀(i+1, j)−2X ₀(i, j)+X ₀(i−1, j)

[0086] Equivalent edge detection could be performed by filtering theimage X₀ with a second-derivative filter having coefficients (1, −2, 1),but taking differences of differences is preferable because it requiresless computation.

[0087] The detected value Sh(i, j) is the edge sharpness at pixel (i,j), also referred to as the edge size. Edge sharpness values withabsolute values equal to or less than a certain threshold value T arequantized to zero. Values exceeding T are also quantized, to reduce thenumber of bits in the edge-image data; then the quantized sharpnessvalues Sh(i, j) at all pixels are output as the horizontal edge imageSh. Non-zero pixels in the edge image, i.e. pixels at which |Sh(i,j)|>T, are referred to as edge points.

[0088] The meaning of the edge sharpness computation can be seen in FIG.3. The horizontal axis represents, for example, the horizontal directionin the image, and the vertical axis represents the pixel value. Thedifference between pixel values 38 and 39 is −A, the difference betweenpixel values 40 and 38 is B, and the difference between thesedifferences is B−(−A)=A+B. If A+B>T, then pixel 38 is an edge point withsharpness A+B. The other pixels in FIG. 3 have zero sharpness. FIG. 3thus illustrates a standard edge, with just one sharp variation.

[0089]FIG. 4 shows another standard edge, with non-zero sharpness at asingle pixel 41. The size of the sharpness is Θ, the difference to theleft of pixel 41 being zero. FIGS. 3 and 4 are drawn so that Θ=A+B, andedge points 38 and 41 have the same sharpness, or size.

[0090] In FIG. 5, pixel 42 is not an edge point. The differences on bothsides of this pixel are the same, so the edge sharpness is zero. FIG. 5represents an area in which, for example, intensity is shading fromlight to dark at a regular rate with no sharp change in this rate at anypoint. Incidentally, FIG. 5 represents the difference between FIGS. 3and 4.

[0091] The vertical edge image is generated in the same way, by takingdifferences in the vertical direction, then taking differences of thesedifferences. The edge sharpness Sv in the vertical direction is:

Sv(i, j)=X ₀(i, j+1)−2X ₀(i, j)+X ₀(i, j−1)

[0092] The vertical edge image is quantized as was the horizontal edgeimage, points for which |Sv(i, i)|≦T being set to zero. Quantization canbe performed by dividing the edge sharpness values by a power of two,for example, or by using a quantization table. Incidentally, the samenotation Sh and Sv will be employed herein to denote edge sharpnessvalues both before and after quantization.

[0093] The edge image encoder 24 encodes the quantized horizontal andvertical edge images Sh and Sv by using, for example, run-lengthencoding to encode the positions of edge points, and differentialencoding to encode the sharpness values at these points. Alternatively,chain encoding can be used to encode the edge positions, takingadvantage of the fact that edge points tend to be organized into chainsof mutually contiguous points. Chain encoding encodes only thedisplacement from one position to the next in such a chain.

[0094] The encoded image C, consisting of the edge information Cs andlow-frequency information Cr as multiplexed by the multiplexer 26, isoutput to the first input/output device 27 for transmission or storage.The amount of encoded data is generally reduced to a small fraction ofthe amount in the original image X₀, so the encoded image C can beefficiently transmitted or stored.

[0095] Next the decoding operations will be described. These operationsemploy further filters e_(o), f_(o), and g_(o).

[0096] Filter g_(o) is a high-pass filter having even symmetry and 2N+1taps, related to the smoothing filter h_(o) as follows:

g _(o)(k)=(−1)^(k) h _(o)(−k)

[0097] This relation implies that the Fourier transform G_(o) of g_(o)is the complex conjugate of H_(o)(ω+π), so h_(o) and g_(o) satisfy theexact reconstruction condition and form a complementary pair.Furthermore, G_(o)(ω+π) is the complex conjugate of H(ω), so g_(o) alsosatisfies an exact reconstruction condition by itself:

|H _(o)(ω)|² +|G _(o)(ω)|²=1

|G _(o)(ω)|² +|G _(o)(ω+π)|²=1

[0098] Since |H_(o)(0)|=1, it follows that |G_(o)(0)|=0, so the sum ofthe tap coefficients g_(o)(k) is zero.

[0099] The above properties of g_(o) imply that when a uniform gradationof the type shown in FIG. 5 is filtered by g_(o), the result will beuniformly zero. Consequently, if a standard edge of the type shown inFIG. 3 or 4 is filtered by g_(o), the result will depend only on theedge sharpness. For example, FIGS. 3 and 4 give the same result whenfiltered by g_(o). Moreover, this result has only 2N−1 non-zero values,occurring in the vicinity of the edge point.

[0100] Filter e_(o) is an edge synthesis filter derived by filtering astandard edge of unit sharpness (for example, the edge in FIG. 4 withΘ=1) by g_(o). The result is:${{e(t)} = {{e( {- t} )} = {\sum\limits_{k = t}^{N}\quad ( {k - t} )}}}{\cdot {g_{o}(k)}}$

[0101] if 0≦t<N

e(t)=e(−t)=0

[0102] if t≧N

[0103] Filter f_(o) is a completion filter, defined in terms of itsFourier transform F_(o) as follows.${F_{O}(\omega)} = \frac{1 + {{H_{O}(\omega)}}^{2}}{2}$

[0104] Filter f_(o) is obtained by executing an inverse Fouriertransform on F_(o). Like h_(o) and g_(o), filter f_(o) has even symmetryand 2N+1 taps. The above definition of F_(o), incidentally, is wellknown in the wavelet transform art and comes from the followingequation:

|H(ω)|⁴+2·F(ω)·|G(ω)|²=1

[0105] Referring again to FIG. 2, after the demultiplexer 30 separatesthe input encoded image C into edge information Cs and low-frequencyinformation Cr, decoders 31 and 32 carry out processes that are reverseto the processes performed by encoders 24 and 25 in FIG. 1. For example,if the low-frequency image encoder 25 in FIG. 1 performed a discretecosine transform followed by quantization and variable-length encoding,the low-frequency information decoder 32 in FIG. 2 performsvariable-length decoding, dequantization, then an inverse discretecosine transform to obtain the decoded reduced image R′.

[0106] If the edge images were encoded by run-length or chain encodingof the positions of the edge points and differential encoding of theirsharpness, the edge information decoder 31 performs run-length or chaindecoding to recover the edge positions and an accumulation process toobtain the sharpness values. The edge information decoder 31 alsodequantizes the sharpness values.

[0107] The up sampler 35 obtains the decoded low-frequency image X₁ byrestoring the decoded reduced image R′ to the original image size (thesize of the edge images and high-frequency images). If, for example,each pixel value in the reduced image R represented an M×M block in thelow-frequency image X₁, the up sampler 35 can simply copy this value toall pixels in the corresponding M×M block of the decoded low-frequencyimage X₁′. More sophisticated up-sampling methods involvinginterpolation can also be employed, but smooth interpolation is notrequired, because the image will be smoothed during the inverse wavelettransform.

[0108] The edge synthesizer 34 filters the horizontal edge image Sh bythe edge synthesis filter e(t) in the horizontal direction, and thevertical edge image Sv by e(t) in the vertical direction. The resultinghorizontal and vertical high-frequency images Yh and Yv can be describedby the following equations: $\begin{matrix}{{{Yh}( {i,j} )} = {\sum\limits_{t = {1 - N}}^{N - 1}\quad {{{Sh}( {{i + t},j} )} \cdot {e(t)}}}} \\{{{Yv}( {i,j} )} = {\sum\limits_{t = {1 - N}}^{N - 1}\quad {{{Sv}( {i,{j + t}} )} \cdot {e(t)}}}}\end{matrix}$

[0109] Conceptually, for each edge point, the edge synthesizer 34synthesizes the result of filtering a standard edge of the correspondingsharpness by the high-frequency filter g_(o). It then adds these resultstogether for all edge points to synthesize a high-frequency image.

[0110] The inverse wavelet transform processor 36 performs threetwo-dimensional filtering operations: it filters the decodedlow-frequency image X₁′ by h_(o) horizontally and vertically; filtersthe horizontal high-frequency image Yh by g_(o) horizontally and f_(o)vertically; and filters the vertical high-frequency image Yv by g_(o)vertically and f_(o) horizontally. The three results are added to obtainthe reconstructed image X₀′. This inverse wavelet transform is wellknown in the art, and is described by the following equation:$\begin{matrix}{{X_{0}^{\prime}( {i,j} )} = \quad {{\sum\limits_{k = {- N}}^{N}\quad {\sum\limits_{l = {- N}}^{N}\quad {{X_{1}^{\prime}( {{i + k},{j + l}} )} \cdot {h_{o}(k)} \cdot {h_{o}(l)}}}} +}} \\{\quad {{\sum\limits_{k = {- N}}^{N}\quad {\sum\limits_{l = {- N}}^{N}\quad {{{Yh}( {{i + k},{j + l}} )} \cdot {g_{o}(k)} \cdot {f_{o}(l)}}}} +}} \\{\quad {\sum\limits_{k = {- N}}^{N}\quad {\sum\limits_{l = {- N}}^{N}\quad {{{Yv}( {{i + k},{j + l}} )} \cdot {g_{o}(l)} \cdot {f_{o}(k)}}}}}\end{matrix}$

[0111] The reconstructed image X₀′ is output to the second input/outputdevice 37 for display or print-out. Alternatively, the reconstructedimage can be output to a computer for further image processing.

[0112] Synthesizing high-frequency image information from edge images asdescribed above enables high compression ratios to be obtained.High-frequency information corresponding to edges below the sharpnessthreshold T is lost, so there is some loss of low-level, high-frequencyshading variations, but the reconstructed image is not distorted, andsharp edges are faithfully preserved. Moreover, the high-frequencyinformation is synthesized in a single, simple filtering step, withoutrecourse to iterative procedures of uncertain reliability.

[0113] Second Embodiment

[0114] The second embodiment is similar to the first, but uses filterswith an even instead of an odd number of taps, so the high-pass filterhas odd symmetry, and the edge synthesis procedure is modifiedaccordingly.

[0115] The digital image encoder of the second embodiment is identicalto the digital image encoder in FIG. 1, except that the smoothing filter20 employs a filter h_(e) with 2N taps. This filter has even symmetryaround ½:

h _(e)(1−k)=h _(e)(k)

[0116] (k=1, 2, . . . , N)

[0117] The Fourier transform H_(e) of this filter satisfies the sameconditions as in the first embodiment:

|H _(e)(0)|=1

|H _(e)(ω)|² +|H _(e)(ω+π)|²=1

[0118] The smoothing filter 20 obtains the low-frequency image X¹ byfiltering the input image X₀ by h_(e) in the horizontal and verticaldirections, as follows:${X_{1}( {i,j} )} = {\sum\limits_{k = {1 - N}}^{N}\quad {\sum\limits_{l = {1 - N}}^{N}\quad {{X_{0}( {{i + k},{j + l}} )} \cdot {h_{o}(k)} \cdot {h_{o}(l)}}}}$

[0119] The digital image decoder is identical to the decoder in FIG. 2,except for the operation of the edge synthesizer 34 and inverse wavelettransform processor 36. The decoding description will be restricted tothe operation of these elements.

[0120] The second embodiment employs a high-pass filter g_(e) with 2Ntaps, obtained from the smoothing filter h_(e) by the same relation asin the first embodiment:

g _(e)(k)=(−1)^(k) h _(e)(−k)

[0121] (k=−N . . . , N−1)

[0122] Whereas the filter g_(o) had even symmetry around zero, g_(e) hasodd symmetry around −½:

g _(e)(−k)=−g _(e)(k−1)

[0123] (k=1, 2, . . . , N)

[0124] As before, the Fourier transform G_(e)(ω) of g_(e) is the complexconjugate of H_(e)(ω+π), and filters h_(e) and g_(e) form acomplementary pair:

|H _(e)(ω)|² +|G _(e)(ω)|²=1

[0125] The edge synthesizer 34 in the second embodiment filters thedecoded edge images Sv and Sh by an edge synthesis filter obtained byfiltering a standard edge with the high-pass filter g_(e). This processcould be carried out directly, as in the first embodiment, but in thatcase the following computational problem would arise.

[0126] When a uniform gradation as in FIG. 5 is filtered by g_(e), theresult has a constant value at every point, but this value is not ingeneral zero. Accordingly, the results of filtering the standard edgesin FIGS. 3 and 4 with g_(e) need not be the same. More significantly,their non-zero values will not necessarily be limited to the vicinity ofthe edge point, so direct filtering by an edge synthesis filter as inthe first embodiment would require much computation.

[0127] If the differences between adjacent coefficient values in theedge synthesis filter are taken, however, these differences have thedesirable properties of depending only on the edge sharpness, and beingzero outside the vicinity of the edge point. Accordingly, the edgesynthesizer 34 in the second embodiment is preferably configured as inFIG. 6, comprising a horizontal differential edge synthesizer 44,vertical differential edge synthesizer 45, horizontal accumulator 46,and vertical accumulator 47. The horizontal and vertical differentialedge synthesizers 44 and 45 employ a differential edge synthesis filterwith coefficients de(t) obtained by filtering a standard edge of unitsharpness with the high-pass filter g_(e), then taking differencesbetween the resulting values at adjacent pixels. Specifically,$\quad \begin{matrix}{{d\quad {e(t)}} = {{d\quad {e( {- t} )}} = {\sum\limits_{k = t}^{N - 1}{g_{e}(k)}}}} & {{i\quad f\quad 0} \leq t < N} \\{{d\quad {e(t)}} = {{d\quad e( {- t} )} = 0}} & {{i\quad f\quad t} \geq N}\end{matrix}$

[0128] Whereas the high-pass and low-pass filters g_(e) and h_(e) havean even number (2N) of taps, the differential edge synthesis filter dehas an odd number (2N−1) of taps.

[0129] The horizontal differential edge synthesizer 44 filters thehorizontal edge image Sh horizontally by de(t) to obtain a horizontaldifferential high-frequency image ΔYh. The vertical differential edgesynthesizer 45 filters the vertical edge image Sv vertically with de(t)to obtain a vertical differential high-frequency image ΔYv. Thesedifferential high-frequency images are described by the followingequations:${\Delta \quad Y\quad h\quad ( {i,\quad j} )} = {\sum\limits_{t = {1 - N}}^{N - 1}{S\quad h\quad {( {{i + t},j} ) \cdot {{e(t)}}}}}$${\Delta \quad Y\quad v\quad ( {i,\quad j} )} = {\sum\limits_{t = {1 - N}}^{N - 1}{S\quad v\quad {( {i,{j + t}} ) \cdot {{e(t)}}}}}$

[0130] The horizontal and vertical accumulators 46 and 47 then completethe edge synthesis filtering operation and generate the horizontal andvertical high-frequency images Yh and Yv by performing accumulationoperations on ΔYh and ΔYv in the horizontal and vertical directions,respectively. If the horizontal and vertical coordinates i and j bothstart at zero, these accumulation operations can be described asfollows:${Y\quad h\quad ( {i,\quad j} )} = {\sum\limits_{k = 0}^{i}{\Delta \quad Y\quad h\quad ( {k,j} )}}$${Y\quad v\quad ( {i,\quad j} )} = {\sum\limits_{k = 0}^{j}{\Delta \quad Y\quad v\quad ( {i,k} )}}$

[0131] The digital image decoder also employs a completion filter f_(e)defined by its Fourier transform F_(e) in the same way as in the firstembodiment:${F_{e}(\omega)} = \frac{ {1 +} \middle| {H_{e}(\omega)} |^{2}}{2}$

[0132] The inverse wavelet transform processor 36 in the secondembodiment uses the conjugates f*_(e), g*_(e), and h*_(e) of filtersf_(e), g_(e), and h_(e), defined as explained earlier, e.g.h_(e)*(−k)=h_(e)(k). The inverse wavelet transform processor 36 filtersthe decoded low-frequency image X₁′ by h*_(e) horizontally andvertically, filters the horizontal high-frequency image Yh by g*_(e)horizontally and f*_(e) vertically, filters the vertical high-frequencyimage Yv by g*_(e) vertically and f*_(e) horizontally, and adds thethree results to obtain the reconstructed image X₀′, as follows:$\begin{matrix}{{X_{0}^{\prime}( {i,j} )} = \quad {{\sum\limits_{k = {- N}}^{N - 1}{\sum\limits_{l = {- N}}^{N - 1}{{X_{1}^{\prime}( {{i + k},{j + l}} )} \cdot {h_{e}^{*}(k)} \cdot {h_{e}^{*}(l)}}}} +}} \\{\quad {{\sum\limits_{k = {1 - N}}^{N}{\sum\limits_{k = {- N}}^{N - 1}{Y\quad h\quad {( {{i + k},{j + l}} ) \cdot {g_{e}^{*}(k)} \cdot {f_{e}^{*}(l)}}}}} +}} \\{\quad {\sum\limits_{k = {- N}}^{N - 1}{\sum\limits_{l = {1 - N}}^{N}{Y\quad v\quad {( {{i + k},{j + l}} ) \cdot {g_{e}^{*}(l)} \cdot {f_{e}^{*}(k)}}}}}}\end{matrix}$

[0133] The inverse wavelet transforms employed in the first and secondembodiments are essentially the same, because the even filters employedin the first embodiment are equal to their own conjugates.

[0134] The difference being using filters with an odd number of taps asin the first embodiment and an even number of taps as in the secondembodiment is mainly computational. In terms of image encoding andreconstruction, both embodiments provide similar effects.

[0135] Third Embodiment

[0136] The third embodiment is similar to the first embodiment, but thesmoothing and inverse wavelet transform operations are cascaded over nwavelet scales, where n is an arbitrary integer greater than one, withedge detection and edge synthesis performed at each scale.

[0137] Referring to FIG. 7, the digital image encoder in the thirdembodiment comprises n cascaded smoothing filters 20-1 to 20-n, n edgedetectors 21-1 to 21-n, and a selector 50. It also comprises the sameencoding section 22 and down sampler 23 as in the first embodiment inFIG. 1, the encoding section 22 having the same encoders 24 and 25 andmultiplexer 26.

[0138] The image X₀ input at the input terminal 10 is supplied to thefirst smoothing filter 20-1 and edge detector 21-1. Each smoothingfilter 20-m in the cascade (m=1 to n−1) outputs a filtered image X_(m)to the next smoothing filter 20-(m+1) and next edge detector 21-(m+1).The last smoothing filter 20-n outputs a low-frequency image X_(n) tothe down sampler 23.

[0139] The edge detectors 21-m are all identical to the edge detector 21in FIG. 1. Each produces a pair of horizontal and vertical edge imagesSh_(m) and Sv_(m), which are input to the selector 50. The selector 50selects one of these pairs of edge images, and supplies the selectedpair Sh and Sv to the edge image encoder 24.

[0140] Referring to FIG. 8, the digital image decoder in the thirdembodiment comprises the same decoding section 28 and up sampler 35 asin the preceding embodiments, the decoding section 28 comprising thesame demultiplexer 30 and decoders 31 and 32. The decoded low-frequencyimage output by the up sampler 35 is now denoted X_(n)′. The digitalimage decoder also comprises a distributor 51, n edge synthesizers 34-m(m=1 to n), and an inverse wavelet transform processor 36. The inversewavelet transform processor 36 now consists of n cascaded inversewavelet processors 36-m.

[0141] The distributor 51 distributes identical copies of the horizontaland vertical edge images Sh and Sv received from the edge informationdecoder 31 to all of the edge synthesizers 34-m (m=1 to n). Each edgesynthesizer 34-m outputs a pair of horizontal and verticalhigh-frequency images Yh_(m) and Yv_(m) to the corresponding inversewavelet processor 36-m. Each inverse wavelet processor 36-m (m=1 to n−1)also receives a partially reconstructed image X_(m) from the precedinginverse wavelet processor 36-(m+1) in the cascade, and outputs apartially reconstructed image X_(m−1) to the next inverse waveletprocessor 36-(m−1). The first inverse wavelet processor 36-n in thecascade receives the decoded low-frequency image X_(n)′ from the upsampler 35. The last inverse wavelet processor 36-1 outputs the fullyreconstructed image X₀′ to the input/output device 37.

[0142] Next the operation of the third embodiment will be described,starting with the encoding operation.

[0143] Each of the smoothing filters 20-m in FIG. 7 employs a differentset of filter coefficients h_(om)(k). All of these filters haveproperties similar to the filter h_(o) employed in the first embodiment:even symmetry, and an odd number of taps with coefficients summing toplus or minus one. The first filter h_(o1) satisfies the exactreconstruction condition.

[0144] The cut-off frequency of each smoothing filter 20-m (m>1) isone-half the cut-off frequency of the preceding filter 20-(m−1) in thecascade. Filters with these cut-off frequencies can be obtained bydoubling the tap spacing from one filter to the next. That is, h_(om)can be obtained from h_(o(m−1)) as follows:

h _(om)(2k)=h _(o(m−1))(k)

h _(om)(2k+1)=0

[0145] (k=0, +1, +2, . . . )

[0146] In smoothing filter 20-m, image X_(m−1) is filtered horizontallyand vertically by filter h_(om) to obtain image X_(m). As the imagepasses through the cascade, variations on progressively larger scalesare smoothed out, and resolution of fine detail decreasescorrespondingly.

[0147] Incidentally, if the low-pass filters h_(om) (m>1) are obtainedby doubling the tap spacing as described above, they will passhigh-frequency variations in certain regions above their cut-offfrequencies. This is allowable because those high-frequency variationswill already have been removed by previous filters in the cascade.

[0148] Each edge detector 21-m detects edges in the received imageX_(m−1) by the difference-of-differences method described in the firstembodiment. All of the edge detectors 21-m can use the same threshold T,or different thresholds can be employed in different edge detectors.

[0149] In selecting one of the pairs of horizontal and vertical edgeimages Sh_(m) and Sv_(m) (m=1 to n) produced by the edge detectors 21-m,the selector 50 may select according to statistics of the edge imagesthemselves, such as the number of edge points detected, or according toan external command specifying a desired edge resolution. In general,edge images Sh_(m) and Sv_(m) obtained at lower resolutions (highervalues of m) contain less information, but also contain less noise.

[0150] The operations of down-sampling, encoding the selected edgeimages Sh and Sv, encoding the reduced image R, and multiplexing theencoded data are carried out as in the first embodiment.

[0151] Next the decoding operations will be described. These operationsemploy edge synthesis filters e_(om), completion filters f_(om), andhigh-pass filters g_(om) (m=1 to n). Filters f_(om) and g_(om) arerelated to respective smoothing filters h_(om) (m=1 to n) in the sameway that f_(o) and g_(o) were related to h_(o) in the first embodiment.Specifically,

|H _(om)(ω)|² +|G _(om)(ω)|²=1${F_{o\quad m}(\omega)} = \frac{ {1 +} \middle| {H_{o\quad m}(\omega)} |^{2}}{2}$

[0152] Once f_(o1) and g_(o1) have been obtained from h_(o1), the otherfilters f_(om) and g_(om) (m=2 to n) can be obtained by successivelydoubling the tap spacing, as was done for the low-pass filters h_(om),so that the number of taps remains 2N+1 in each filter.

[0153] Each edge synthesis filter e_(om) is obtained by filtering astandard edge of unit sharpness with the corresponding high-pass filterg_(om). The length of each edge synthesis filter e_(om) (the distancebetween the two outermost taps) is still less by two than the length ofthe corresponding high-pass filter g_(om), but e_(om) may have more tapsthan g_(om), because while g_(om) may have many zero coefficientsbetween the outermost two taps, e_(om) in general will not.

[0154] The operations of demultiplexing the encoded image C, decodingthe edge information Cs, and decoding and up-sampling the low-frequencyinformation Cr are carried out as in the first embodiment, producing apair of edge images Sh and Sv and a decoded low-frequency image X_(n)′.

[0155] Each edge synthesizer 34-m (m=1 to n) filters the pair of edgeimages Sh and Sv by its edge synthesis filter e_(om) to generatehorizontal and vertical high-frequency images Yh_(m) and Yv_(m). Eventhough all the edges were detected at a single selected resolution, theedge synthesizers 34-m synthesize high-frequency images at differentresolutions from these same edges.

[0156] Each inverse wavelet processor 36-m generates the image X_(m−1)′from images X_(m), Yh_(m), and Yv_(m) in the same way that the inversewavelet transform processor 36 in the first embodiment generated X₀ fromX₁, Y_(h), and Y_(v). That is, it filters X_(m)′ horizontally andvertically by h_(om), filters Yh_(m) horizontally by g_(om) andvertically by f_(om), filters Yv_(m) vertically by g_(om) andhorizontally by f_(om), and sums the three results.

[0157] The compression ratios achieved by the third embodiment arecomparable to those achieved by the first embodiment because the encodedinformation again comprises just one reduced low-frequency image and twoedge images, but the third embodiment gives better reconstruction ofimages with high-frequency noise. In the first embodiment, such noisecan only be dealt with by raising the edge sharpness threshold T, whichis not always a satisfactory solution. In the third embodiment, edgescan be detected in an image from which high-frequency noise has beenremoved by smoothing, so it is not necessary to raise the edge sharpnessthreshold.

[0158] Fourth Embodiment

[0159] The fourth embodiment differs from the third embodiment in thatthe digital image encoder selects a particular resolution beforeperforming edge detection. The digital image decoder is the same as inthe third embodiment.

[0160] Referring to FIG. 9, the digital image encoder has smoothingfilters 20-m (m=1 to n) that output filtered images X_(m) as in thethird embodiment. A selector 52 selects one of these images for input toan edge detector 21, which is identical to the edge detector 21 in thefirst embodiment. Other elements in FIG. 9 are also identical tocorresponding elements in the first and third embodiments, and have thesame reference numerals.

[0161] The selector 52 selects a particular image X_(m) according tostatistics taken from the images X_(m) (m=1 to n), or according to anexternal command. The edge detector 21 detects edges in the selectedimage as in the first embodiment. Other than this difference, the fourthembodiment operates like the third embodiment, so further descriptionwill be omitted.

[0162] The fourth embodiment has the advantage of a simplerconfiguration than the third embodiment, and needless computation ofedge images that will not be used is avoided. The selector 52 must,however, select a resolution before seeing the results of edgedetection.

[0163] Fifth Embodiment

[0164] The fifth embodiment differs from the third embodiment in usingfilters with an even number of taps.

[0165] Referring to FIG. 10, the digital image encoder of the fifthembodiment has the same structure as in the third embodiment, and thesame reference numerals are used as in FIG. 7 except for the cascadedsmoothing filters 54-m, which employ different filter functions h_(em)(m=1 to n).

[0166] The filters h_(em) are similar to the filter h_(e) in the secondembodiment in being low-pass filters with even symmetry and an evennumber of taps. As in the third embodiment, each filter h_(em) can beobtained from the preceding filter by doubling the spacing between taps,which reduces the cut-off frequency by a factor of two.

[0167] Other than the difference in the number of taps, the operation ofthe digital image encoders in the third and fifth embodiments is thesame.

[0168] Referring to FIG. 11, the digital image decoder in the fifthembodiment is similar to the digital image decoder of the thirdembodiment (FIG. 8), except that the high-frequency images are generatedby the method of FIG. 6. Elements that have the same reference numeralsin FIGS. 11 and 8 are identical.

[0169] The distributor 51 in the fifth embodiment distributes the pairof edge images Sh and Sv to pairs of differential edge synthesizers 56-mand 57-m (m=1 to n), which are similar to the differential edgesynthesizers 44 and 45 in FIG. 6. These output differentialhigh-frequency images A Yh_(m) and A Yv_(m) to corresponding pairs ofaccumulators 60-m and 61-m, which are similar to the accumulators 46 and47 in FIG. 6. The accumulators 60-m and 61-m output high-frequencyimages Yh_(m) and Yv_(m) to the inverse wavelet transform processor 36.The inverse wavelet transform processor 36 comprises inverse waveletprocessors 62-n (m=1 to n) which are similar to the inverse waveletprocessors 36-n in the third embodiment, except that they employ filtersf_(em*), g_(em*), and h_(em*) with an even number of taps.

[0170] Filter h_(em*) is conjugate to the low-pass filter h_(em)employed in the encoder. Filters f_(em*) and g_(em*) are related toh_(em)* in the same way that f_(o) and g_(o) were related to h_(o) inthe first embodiment. Specifically, the Fourier transforms F_(em)*,G_(em)* and H_(em)* of these filters satisfy:

|H _(em)*(ω)|² +|G _(em)*(ω)|²=1${F_{e\quad m}^{*}(\omega)} = \frac{ {1 +} \middle| {H_{e\quad m}^{*}(\omega)} |^{2}}{2}$

[0171] Filters f_(em)* can be obtained from the above definitions oftheir Fourier transforms. Filters g_(em)* can be constructed as follows.

[0172] First, filters f_(e1) and g_(e1) are obtained from smoothingfilter h_(e1) in the same way that f_(e) and g_(e) were obtained fromh_(e) in the second embodiment:

g _(e1)(k)=(−1)^(k) h _(e1)(−k)

[0173] (k=−N . . . , N−1)

[0174] Each filter g_(em) (m=2 to n) is then obtained from the precedingfilter g_(e(m−1)) by doubling the tap spacing. Each filter g_(em) (m=1to n) has odd symmetry. The order of taps of g_(em) can be reversed toobtain the conjugate g_(em)*.

[0175] The differential edge synthesizers 56-m and 57-m (m=1 to n)employ respective differential edge synthesis filters de_(m) that areobtained from the above high-pass filters g_(em) in the same way thatthe filter de was obtained from g_(e) in the second embodiment: byfiltering a standard edge of unit sharpness with g_(em), then taking thedifferences between resulting coefficients.

[0176] The decoding section 28, up sampler 35, and distributor 51operate as in the third embodiment. The differential edge synthesizers56-m and 57-m (m=1 to n) operate like the differential edge synthesizers44 and 45 in the second embodiment, filtering the pair of edge images Shand Sv by their respective differential edge synthesis filters de_(m).The accumulators 60-m and 61-m operate like the accumulators 46 and 47in FIG. 6.

[0177] The inverse wavelet transform processor 36 operates as in thethird embodiment. Each inverse wavelet processor 62-m generates imageX_(m−1)′ from images X_(m)′, Yh_(m), and Yv_(m) by filtering X_(m)′horizontally and vertically with h_(em)*, filtering Yh_(m) horizontallywith g_(em)* and vertically with f_(em)*, filtering Yv_(m) verticallywith g_(em)* and horizontally with f_(em)* and summing the threeresults.

[0178] The fifth embodiment has effects similar to the third embodiment.

[0179] Sixth Embodiment

[0180] The sixth embodiment differs from the fifth as the fourthembodiment differed from the third: the digital image encoder selects aparticular resolution before performing edge detection. The digitalimage decoder is the same as in the fifth embodiment.

[0181] Referring to FIG. 12, the digital image encoder has the samesmoothing filters 54-m (m=1 to n) as in the fifth embodiment, whichoutput filtered images X_(m). As in the fourth embodiment, a selector 52selects one of the images X_(m) (m=0 to n−1). The other elements in FIG.12 also operate as in the fourth embodiment, being identical to elementsin 9 with the same reference numerals.

[0182] Aside from the use of filters with an even number of taps, thesixth embodiment operates exactly like the fourth embodiment andprovides the same effects, so further description will be omitted.

[0183] Seventh Embodiment

[0184] The seventh embodiment is similar to the third embodiment, but isadapted to process moving images comprising successive frames.

[0185] Referring to FIG. 13, the digital image encoder of the seventhembodiment has the same smoothing filters 20-m and edge detectors 21-m(m=1 to n) as the third embodiment, and the same down sampler 23 andselector 50. The encoding section 65, however, differs from the encodingsection 22 in the third embodiment.

[0186] The encoding section 65 comprises a pair of motion estimators 66and 67, a motion vector encoder 68, a pair of difference encoders 69 and73, a pair of difference decoders 70 and 74, a pair of adders 71 and 75,and a pair of memories 72 and 76.

[0187] Motion estimator 66 receives the pair of edge images Sh and Svfrom selector 50, and corresponding previous edge images Sp from memory72. The symbol Sp in the drawing denotes a pair of images: a previoushorizontal edge image and a previous vertical edge image. Motionestimator 66 outputs edge motion vectors Ms and a pair of horizontal andvertical edge difference images Dh and Dv. Motion estimator 67 receivesthe reduced image R from down sampler 23 and a previous reduced image Rpfrom memory 76, and outputs low-frequency motion vectors Mr and areduced difference image Dr. The motion vector encoder 68 encodes motionvectors Ms and Mr and outputs motion information Cm.

[0188] Difference encoder 69 encodes the edge difference images Dh andDv and outputs edge difference information Cds. This information isdecoded by difference decoder 70 to produce a pair of decoded edgedifference images, which are denoted in the drawing by the single symbolD′. Similarly, difference encoder 70 encodes the reduced differenceimage Dr and outputs low-frequency difference information Cdr.Difference decoder 74 decodes Cdr and outputs a decoded reduceddifference image Dr′.

[0189] The multiplexer 78 multiplexes the edge difference informationCds, motion information Cm, and low-frequency difference information Cdrfor output as an encoded image C.

[0190] Referring to FIG. 14, the digital image decoder of the seventhembodiment is identical to the digital image decoder of the thirdembodiment except for the decoding section 79. The decoding section 79comprises a demultiplexer 80, a motion information decoder 82, a pair ofdifference decoders 81 and 83, a pair of motion compensators 84 and 86,and a pair of memories 85 and 87.

[0191] The demultiplexer 80 receives the encoded image C from theinput/output device 27 and separates it into edge difference informationCds, motion information Cm, and low-frequency difference informationCdr. Difference decoder 81 decodes Cds to obtain a pair of decoded edgedifference images Dh′ and Dv′. Motion information decoder 82 decodes Cmto obtain edge motion vectors Ms and low-frequency motion vectors MrDifference decoder 83 decodes Cdr to obtain a decoded reduced differenceimage Dr′.

[0192] Motion compensator 84 receives Dh′, Dv′ and Ms from decoders 81and 82, receives a pair of previous edge images Sp from memory 85, andoutputs a pair of edge images Sh and Sv to the distributor 51. Motioncompensator 86 receives Mr and Dr′ from decoders 82 and 83, receives aprevious reduced image Rp′ from memory 87, and outputs a decoded reducedimage R′ to the up sampler 35.

[0193] Next the operation of the seventh embodiment will be described.The description will be confined to the encoding section 65 and decodingsection 79, since the other parts operate as in the third embodiment.

[0194] Referring again to FIG. 13, motion estimator 67 estimates motionin the reduced image R by, for example, the block-matching method, whichinvolves computing the following quantity d(k, l) for blocks of pixelsin the reduced image R and previous reduced image Rp, using variousvectors (k, l).${d( {k,l} )} = {\sum\limits_{i,j}| {{R( {i,j} )} - {R\quad {p( {{i + k},\quad {j + l}} )}}} |}$

[0195] That is, motion estimator 67 finds the total difference in pixelvalues between a block in the current reduced image R and a blockdisplaced by k pixels horizontally and l pixels vertically from thisblock in the previous reduced image Rp. This computation is carried outfor all vectors (k, l) within a designated search range; then theminimum resulting value d(k, l) is selected and its vector (k, l) isoutput as a motion vector. The entire procedure is repeated for otherblocks in the current reduced image, until motion has been estimatedthroughout the image, thereby obtaining the low-frequency motion vectorsMr.

[0196] The reduced difference image Dr consists of the differences inpixel values between the current and previous reduced images that cannotbe accounted for by the detected motion. That is, it consists of valuesof the form

Dr(i, j)=R(i, j)−Rp(i+k, j+l)

[0197] where (k, l) is the motion vector of the block containing pixelR(i, j).

[0198] Motion estimator 66 carries out this block-matching processseparately on the horizontal and vertical edge images Sh and Sv. Themotion vector encoder 68 encodes the motion vectors Ms and Mr by, forexample, a variable-length encoding method.

[0199] Difference decoder 69 encodes the edge difference images Dh andDv by, for example, the same method as used by the edge image encoder 24in the preceding embodiments. Difference encoder 74 encodes the reduceddifference image by, for example, the same method as used by thelow-frequency image encoder 25 in the preceding embodiments. Thedifference decoders 70 and 74 employ methods reverse to those of thedifference encoders 69 and 73 to obtain the decoded reduced differenceimage Dr′ and the pair of decoded edge difference images D′.

[0200] Adder 75 adds Dr′ to the previous reduced image Rp and stores theresulting new reduced image in memory 76 for use as a previous reducedimage in the next frame. Similarly, adder 71 adds the pair of decodededge difference images D′ to the previous pair of edge images Sp andstores the resulting pair of new edge images in memory 72 for use asprevious edge images in the next frame.

[0201] Memory 76 has space for storing at least two complete reducedimages, the previous image read by motion estimator 67 and the new imagestored by adder 75 being stored in different memory locations. In onestorage scheme the roles of these locations are swapped at every frame,so what was the new image in one frame becomes the previous image in thenext frame. Memory 72 can employ a similar scheme for storing edgeimages.

[0202] Block matching requires a large number of arithmetic operations,particularly in motion estimator 66, which must estimate motion in twofull-size images Sh and Sv. Motion estimator 66 is preferably adapted toreduce the amount of computation by restricting the search range. Forexample, motion in a frame can to some extent be predicted from motionin preceding frames, and the search range can be narrowed on the basisof these predictions, a technique well known in the prior art. Also,after motion vectors for one of the two edge images Sh and Sv have beenobtained, they can be used to narrow the search range for motion vectorsin the other edge image. In the extreme case, block matching can beperformed for just one of the two edge images, and the resulting motionvectors applied to both edge images.

[0203] Needless to say, the motion-vector search for a block terminatesas soon as a vector (k, l) with d(k, l)=0 is found. This tends to happenquickly for many blocks in the edge images, because most pixel values inan edge image are usually zero. That is, edge detection in itselfgenerally reduces the amount of motion-vector computation.

[0204] Referring again to FIG. 14, to describe the operation of decodingsection 79, after the demultiplexer 80 separates the encoded imagesignal C into Cds, Cm, and Cr, the difference decoder 81 decodes Cds toobtained decoded edge difference images Dh′ and Dv′. These images areidentical to the decoded edge difference images obtained by thedifference decoder 70 in the digital image encoder and denoted D′ inFIG. 13. The motion information decoder 82 decodes Cm to obtain decodedmotion vectors Ms and Mr. The motion vector encoding scheme ispreferably a lossless encoding scheme, so these vectors Ms and Mr areidentical to the motion vectors Ms and Mr in FIG. 13. The differencedecoder 83 decodes Cdr to obtain a decoded reduced image Dr′ which isidentical to the decoded reduced image Dr′ obtained by differencedecoder 74 in FIG. 13.

[0205] For each block of difference values in the decoded reduceddifference image Dr′, motion compensator 86 obtains the motion vector(k, l) of the block from the motion information decoder 82, reads aprevious block displaced by (k, l) in the previous image Rp stored inmemory 87, and adds the difference values to this previous block toobtain a block in the decoded reduced image R′. After obtaining thecomplete reduced image R′, it stores this newly decoded reduced image R′in memory 87 for use as the previous reduced image Rp in the next frame.Operating in a similar fashion, motion compensator 84 obtains horizontaland vertical edge images Sh and Sv from the decoded edge differenceimages Dh′ and Dv′, motion vectors Ms, and previous edge images Sp, andstores the new edge images Sh and Sv in memory 85 for use as previousedge images in the next frame. Memories 85 and 87 employ storage schemessimilar to those of memories 72 and 76 in the digital image encoder.

[0206] Due to quantization error, for example, the decoded differenceimages Dh′, Dv′, and Dr′ obtained by difference decoders 81 and 83 inthe digital image decoder will not necessarily be identical to thedifference images Dh, Dv, and Dr output by motion estimators 66 and 67in the digital image encoder. They will, however, be identical to thedecoded difference images obtained by difference decoders 70 and 74 inthe digital image encoder, as noted above, so the new images stored inmemories 85 and 87 in the digital image decoder will be identical to thenew images stored in memories 72 and 76 in the digital image encoder.Accordingly, the motion estimators 66 and 67 and motion compensators 84and 86 will always estimate and compensate for motion from the sameprevious images, even if the difference images are not decoded withperfect accuracy.

[0207] The combination of edge detection, down-sampling, and motionestimation and compensation enables very high video compression ratiosto be achieved, particularly for images that tend to remain largelystationary. Such images include the images commonly encountered in videoteleconferencing, video games, and a wide variety of so-calledmultimedia systems, which provide a video interface between a person anda computer. The present invention can be practiced to good advantage insystems like these.

[0208] Eighth Embodiment

[0209] The eighth embodiment combines features of the fourth and seventhembodiments.

[0210] Referring to FIG. 15, the digital image encoder of the eighthembodiment has the same smoothing filters 20-1 to 20-n, edge detector21, down sampler 23, and selector 52 as the fourth embodiment (FIG. 9),and the same motion-estimating encoding section 65 as the seventhembodiment (FIG. 13). The digital image decoder of the eighth embodimentis identical to the digital image decoder of the seventh embodiment(FIG. 14).

[0211] The eighth embodiment operates as explained in the fourth andseventh embodiments, so further description will be omitted. By reducingthe amount of edge detection, the eighth embodiment speeds up theencoding of moving images and enables frames to be encoded at a fasterrate than the seventh embodiment.

[0212] Ninth Embodiment

[0213] The ninth embodiment is similar to the eighth embodiment, withfurther provisions for speeding up the computation of motion vectors.

[0214] Referring to FIG. 16, the encoding section 89 of the digitalimage encoder of the ninth embodiment is similar to the encoding section65 in FIGS. 13 and 15, but has an additional bidirectionalinterconnection 90 between motion estimators 66 and 67. This enablesmotion estimator 67 to receive the edge motion vectors Ms found bymotion estimator 66, scale them down to the size of the reduced image R,and restrict the search for motion vectors in the reduced image R tovectors close to the scaled-down edge motion vectors. In the extremecase, the search can be eliminated entirely: the low-frequency motionvectors Mr can be computed directly from the edge motion vectors Ms.

[0215] Alternatively, motion estimator 66 can receive the motion vectorsMr found by block matching in the reduced image R, scale them up to thesize of the edge images Sh and Sv, and restrict the search for motionvectors for Sh and Sv to vectors close to the scaled-up vectors. Thisscheme is particularly effective in detecting sudden, large motion.

[0216] Aside from this difference, the ninth embodiment has the samestructure as the eighth embodiment and operates in the same way, sofurther description will be omitted. By narrowing down the search formotion vectors, the ninth embodiment enables frames to be encoded at astill faster rate than the eighth embodiment.

[0217] Tenth Embodiment

[0218] The tenth embodiment combines features of the fifth and seventhembodiments.

[0219] Referring to FIG. 17, the digital image encoder of the tenthembodiment has the same smoothing filters 54-1 to 54-n, edge detectors21-1 to 21-n, down sampler 23, and selector 50 as the fifth embodiment(FIG. 10), and the same encoding section 65 as the seventh embodiment(FIG. 13). Referring to FIG. 18, the digital image decoder of the tenthembodiment has the same decoding section 79 as the seventh embodiment(FIG. 14), and the same up sampler 35, distributor 51, differential edgesynthesizers 56-1 to 57-n, accumulators 60-1 to 61-n, and inversewavelet transform processor 36 as the fifth embodiment (FIG. 11). Thetenth embodiment operates as explained in the fifth and seventhembodiments, and provides similar effects, so further description willbe omitted.

[0220] Eleventh Embodiment

[0221] The eleventh embodiment combines features of the sixth andseventh embodiments.

[0222] Referring to FIG. 19, the digital image encoder of the eleventhembodiment has the same smoothing filters 54-1 to 54-n, edge detector21, down sampler 23, and selector 52 as the sixth embodiment (FIG. 12),and the same encoding section 65 as the seventh embodiment (FIG. 13).The digital image decoder of the eleventh embodiment is identical to thedigital image decoder of the seventh embodiment (FIG. 14). The eleventhembodiment operates as explained in the sixth and seventh embodiments,and provides similar effects, so further description will be omitted.

[0223] Twelfth Embodiment

[0224] The twelfth embodiment combines features of the ninth andeleventh embodiments.

[0225] Referring to FIG. 20, the digital image encoder of the twelfthembodiment has the same smoothing filters 54-1 to 54-n, edge detector21, down sampler 23, and selector 52 as the eleventh embodiment (FIG.18), and the same encoding section 89 as in the ninth embodiment (FIG.16), with a bidirectional interconnection 90 between the motionestimators 66 and 67. The digital image decoder of the eleventhembodiment is identical to the digital image decoder of the tenth andeleventh embodiments (FIG. 18). The twelfth embodiment operates asexplained in these preceding embodiments, and provides similar effects,so further description will be omitted.

[0226] As described above, the invented encoding and decoding method anddevices provide high compression rates with modest amounts ofcomputation. Although there is some loss of detail, reconstructed imagesare not distorted, and because high-frequency information is synthesizedin a single step instead of by iteration, the reconstruction process isreliably completed within a short and definite time. The invention canbe usefully applied to both still and moving images for a wide varietyof purposes, in a wide variety of systems.

[0227] The scope of the invention is not restricted to the embodimentsdescribed above, but includes such further variations as the following.

[0228] Instead of producing separate horizontal and vertical edgeimages, the edge detector or detectors can output a single edge image inwhich each edge point has both a sharpness value S(i, j) and directionangle θ (i, j), computed from Sh(i, j) and Sv(i, j) by, for example, thefollowing formulas:

S(i, j)=sgn[Sh(i, j)]·[Sh(i, j)² +Sv(i, j)²]^(½)

θ(i, j)=arc tan[Sv(i, j)/Sh(i, j)]

[0229] In these formulas, sgn denotes the algebraic sign (plus or minusone), and arctan the inverse tangent function. The encoding section thenhas only one set of edge positions to encode. The decoding section inthe digital image decoder can recover Sh(i, j) and Sv(i, j) from S(i, j)and θ(i, j).

[0230] This method of encoding only a single edge image is particularlyeffective if chain encoding is employed, because the direction angletends to change only slowly along a chain of edge points. Moreover, theangle tends to be perpendicular to the direction of the chain, so it ispossible to have the edge detector calculate only the above edgesharpness S(i, j), and let the decoder infer the direction angle θ(i, j)of an edge point (i, j) from the direction of the chain in the vicinityof that point. The compression ratio can be significantly improved inthis way, although with some loss of reconstruction accuracy.

[0231] If the seventh to twelfth embodiments are varied in this way, thenew and previous edge images Sp stored in memories 72 and 85 can be asingle edge image with pixel values S(i, j). After storing a single newedge image in memory 85, motion compensator 84 infers θ(i, j),calculates Sh(i, j) and Sv(i, j), and generates horizontal and verticaledge images Sh and Sv for output to the distributor 51.

[0232] The number of smoothing filters need not be the same as thenumber of edge synthesizers. If the desired edge resolution is known inadvance, the digital image encoder requires no more than two smoothingfilters: one to smooth the input image to the desired resolution foredge detection, and another to obtain the low-frequency image by furthersmoothing. Despite this, the digital image decoder may employ anarbitrary number of edge synthesizers for reconstruction. In this caseit is not necessary for the low-pass filters in the digital imageencoder and high-pass filters in the digital image decoder to formcomplementary pairs.

[0233] Obtaining a series of low-pass or high-pass filters by successivedoubling of the tap spacing is computationally convenient, but thelow-pass and high-pass filters do not have to be obtained in this way,and their cut-off frequencies to not have to be related by factors ofone-half. Moreover, the low-pass filters in the digital image encoder donot have to be cascaded; a set of parallel low-pass filters could beused.

[0234] Since the difference-of-differences edge detection method isequivalent to filtering by a second-derivative filter d withcoefficients (1, −2, 1), the encoder could also be structured so thatthe input image is filtered by a cascaded series of filters comprisingd, h₁, h₂, . . . , h_(n−1) to detect edge points at various resolutions.The input image can then be separately filtered by a single filter equalto the convolution of h₁, h₂, . . . , h_(n) to obtain the low-frequencyimage (h₁, . . . , h_(n) are low-pass filters).

[0235] Edge detection is not limited to the difference-of-differencesmethod. This method is preferred, but other methods can be employed.

[0236] The standard edge from which the edge synthesis filters aregenerated need not be an edge of the type shown in FIGS. 3 and 4, inwhich pixel values change at first one constant rate, then anotherconstant rate. Other types can be used, provided the standard edge hasonly one point which would be detected as an edge point by the edgedetector.

[0237] Down-sampling and up-sampling can be omitted, if the encodingmethod employed for the low-frequency image provides adequate datacompression without down-sampling.

[0238] In the seventh to twelfth embodiments, if the difference imagesDh, Dv, and Dr produced by motion estimation are encoded by a losslessencoding scheme, memories 72 and 76 in the digital image encoders can beupdated by direct input of edge images Sh and Sv and reduced image R.Difference decoders 70 and 74 and adders 71 and 75 can then be omitted.

[0239] Motion estimation and compensation need not be performed in everyframe. These processes can be omitted occasionally, to prevent uncheckedpropagation of errors from frame to frame.

[0240] Motion estimation and compensation can of course be added to theone-stage digital image encoders and decoders of the first twoembodiments, to compress moving images.

[0241] Those skilled in the art will recognize that still furthervariations are possible without departing from the scope claimed below.

What is claimed is:
 1. A method of encoding and decoding a digitizedimage consisting of pixel values, comprising the steps of: detectingsharpness of edges in said digitized image; encoding position andsharpness values of edge points having sharpness values exceeding acertain threshold, thereby generating edge information; filtering saiddigitized image by a low-pass filter, thereby generating a low-frequencyimage; encoding said low-frequency image, thereby generatinglow-frequency information; sending said edge information and saidlow-frequency information to an input/output device; receiving said edgeinformation and said low-frequency information from said input/outputdevice; generating a horizontal edge image and a vertical edge imagefrom said edge information; synthesizing a pair of high-frequency imagesby filtering said horizontal edge image and said vertical edge imagewith an edge synthesis filter; decoding said low-frequency information,thereby obtaining a decoded low-frequency image; and performing aninverse wavelet transform on said decoded low-frequency image and saidpair of high-frequency images.
 2. The method of claim 1, whereindetecting sharpness of edges comprises: finding differences between saidpixel values; and taking differences of said differences.
 3. The methodof claim 1, wherein encoding said low-frequency image comprisesdown-sampling.
 4. The method of claim 1, wherein said digitized imagecomprises successive frames, and encoding position and sharpness valuescomprises motion estimation.
 5. The method of claim 1, wherein saidlow-pass filter has even symmetry.
 6. The method of claim 1, whereinfiltering said digitized image comprises filtering by a series oflow-pass filters having different cut-off frequencies, therebygenerating a series of images with different resolutions, including atleast said digitized image as a highest-resolution image and saidlow-frequency image as a lowest-resolution image.
 7. The method of claim6, wherein detecting sharpness of edges comprises: detecting sharpnessof edges in at least two images among said series of images, excludingsaid low-frequency image; and selecting one of said at least two imagesfor encoding of said position and sharpness values.
 8. The method ofclaim 6, wherein detecting sharpness of edges comprises: selecting oneimage among said series of images; and detecting sharpness of edges inthe image thus selected.
 9. The method of claim 1, wherein said edgesynthesis filter has coefficients that are generated by filtering astandard edge by a high-pass filter.
 10. The method of claim 9, whereinsaid standard edge consists of a first part and a second part, withpixel values changing at one constant rate in said first part and at adifferent constant rate in said second part.
 11. The method of claim 9,wherein: said step of synthesizing comprises filtering said horizontaledge image with at least two edge synthesis filters and filtering saidvertical edge image with said edge synthesis filters, therebysynthesizing at least two pairs of high-frequency images; said inversewavelet transform is performed on all said pairs of high-frequencyimages thus synthesized; and said edge synthesis filters are obtained byfiltering said standard edge with high-pass filters having differentcut-off frequencies.
 12. The method of claim 9, wherein said high-passfilter has even symmetry.
 13. The method of claim 9, wherein saidhigh-pass filter has odd symmetry.
 14. The method of claim 13, whereinsaid step of synthesizing comprises: taking differences betweenconsecutive coefficients of said edge synthesis filter, therebygenerating a differential edge synthesis filter; filtering saidhorizontal edge image and said vertical edge image by said differentialedge synthesis filter, thereby generating a pair of differentialhigh-frequency images; and accumulating values in said differentialhigh-frequency images.
 15. A method of encoding a digitized imageconsisting of pixels having pixel values, comprising the steps of:filtering said digitized image by a low-pass filter, thereby generatinga low-frequency image; down-sampling said low-frequency image, therebygenerating a reduced image smaller in size than said digitized image;encoding said reduced image, thereby generating low-frequencyinformation; generating an edge image by detecting edges in saiddigitized image; encoding said edge image, thereby generating edgeinformation; and sending said edge information and said low-frequencyinformation to an input/output device.
 16. The method of claim 15,wherein said low-pass filter has even symmetry.
 17. The method of claim15, wherein said low-pass filter satisfies an exact reconstructioncondition.
 18. The method of claim 15, wherein detecting edges comprisesdetecting variations in rate of change of said pixel values from pixelto pixel.
 19. The method of claim 15, wherein generating an edge imagecomprises: detecting edges in a horizontal direction, thereby generatinga horizontal edge image; and detecting edges in a vertical direction,thereby generating a vertical edge image.
 20. The method of claim 15,said method being applied to successive frames of a moving image,wherein the step of encoding said edge image comprises: reading aprevious edge image, pertaining to a previous frame, from a firstmemory; generating edge motion vectors by detecting motion of said edgeimage with respect to said previous edge image; encoding said edgemotion vectors, thereby generating edge motion information as part ofsaid edge information; generating an edge difference image by detectingdifferences between said edge image and said previous edge image, overand above said motion of said edge image; and encoding said edgedifference image, thereby generating edge difference information asanother part of said edge information.
 21. The method of claim 20,wherein encoding said edge image comprises the further steps of:decoding said edge difference information, thereby generating a decodededge difference image; adding said decoded edge difference image to saidprevious edge image to generate a new edge image; and storing said newedge image in said first memory, for use as a previous edge image in asubsequent frame.
 22. The method of claim 20, wherein the step ofencoding said reduced image comprises: reading a previous reduced image,pertaining to said previous frame, from a second memory; generatinglow-frequency motion vectors by detecting motion of said reduced imagewith respect to said previous reduced image; encoding said low-frequencymotion vectors, thereby generating low-frequency motion information aspart of said low-frequency information; generating a reduced differenceimage by detecting differences between said reduced image and saidprevious reduced image, over and above said motion of said reducedimage; and encoding said reduced difference image, thereby generatinglow-frequency difference information as another part of saidlow-frequency information.
 23. The method of claim 22, wherein encodingsaid reduced image comprises the further steps of: decoding saidlow-frequency difference information, thereby generating a decodedreduced difference image; adding said decoded reduced difference imageto said previous reduced image to generate a new reduced image; andstoring said new reduced image in said second memory, for use as aprevious reduced image in a subsequent frame.
 24. The method of claim22, wherein generating edge motion vectors comprises using saidlow-frequency motion vectors to select a range of search for said edgemotion vectors.
 25. The method of claim 22, wherein generatinglow-frequency motion vectors comprises using said edge motion vectors toselect a range of search for said low-frequency motion vectors.
 26. Amethod of reconstructing a digitized image from encoded edge informationand low-frequency information, comprising the steps of: generating ahorizontal edge image and a vertical edge image by decoding said edgeinformation; synthesizing a pair of high-frequency images by filteringsaid horizontal edge image horizontally with an edge synthesis filter,and filtering said vertical edge image vertically with said edgesynthesis filter; generating a reduced image by decoding saidlow-frequency information; up-sampling said reduced image, therebygenerating a low-frequency image equal in size to said high-frequencyimages; performing an inverse wavelet transform on said high-frequencyimages and said low-frequency image, thereby obtaining said digitizedimage; and sending said digitized image to an input/output device. 27.The method of claim 26, wherein said edge synthesis filter hascoefficients that are generated by filtering a standard edge, havingjust one sharp variation, by a high-pass filter.
 28. The method of claim27, wherein said standard edge consists of a first part and a secondpart, with pixel values changing at one constant rate in said first partand at a different constant rate in said second part.
 29. The method ofclaim 27, wherein the step of performing an inverse wavelet transformcomprises filtering said high-frequency images by a conjugate filter ofsaid high-pass filter.
 30. The method of claim 27, wherein saidhigh-pass filter satisfies an exact reconstruction condition.
 31. Themethod of claim 27, wherein said high-pass filter has even symmetry. 32.The method of claim 27, wherein said high-pass filter has odd symmetry.33. The method of claim 32, wherein filtering with said edge synthesisfilter is performed by using a differential edge synthesis filter havingcoefficients equal to differences between consecutive coefficients ofsaid edge synthesis filter, and said step of synthesizing a pair ofhigh-frequency images comprises: filtering said horizontal edge imagehorizontally by said differential edge synthesis filter, therebysynthesizing a horizontal differential high-frequency image;accumulating values in said horizontal differential high-frequencyimage; filtering said vertical edge image vertically by saiddifferential edge synthesis filter, thereby synthesizing a verticaldifferential high-frequency image; and accumulating values in saidvertical differential high-frequency image.
 34. The method of claim 26,said method being applied to successive frames of an encoded movingimage, wherein said edge information comprises edge differenceinformation and edge motion information, and decoding said edgeinformation comprises: decoding said edge difference information toobtain an edge difference image; decoding said edge motion informationto obtain edge motion vectors; reading a previous edge image, pertainingto a previous frame, from a third memory; adding said edge differenceimage to said previous edge image according to said edge motion vectors,to obtain a new edge image; and storing said new edge image in saidthird memory for use as a previous edge image of a subsequent frame. 35.The method of claim 34, wherein said low-frequency information compriseslow-frequency difference information and low-frequency motioninformation, and decoding said low-frequency information comprises:decoding said low-frequency difference information to obtain a reduceddifference image; decoding said low-frequency motion information toobtain low-frequency motion vectors; reading a previous reduced image,pertaining to said previous frame, from a fourth memory; adding saidreduced difference image to said previous reduced image according tosaid low-frequency motion vectors, to obtain said reduced image; andstoring said reduced image in said fourth memory for use as a previousreduced image of a subsequent frame.
 36. A method of encoding adigitized image consisting of pixels having pixel values, comprising thesteps of: filtering said digitized image by a series of low-pass filtershaving progressively lower cut-off frequencies, thereby generating aseries of filtered images culminating in a low-frequency image, whichwas filtered with a lowest cut-off frequency among said cut-offfrequencies; down-sampling said low-frequency image, thereby generatinga reduced image smaller in size than said digitized image; encoding saidreduced image, thereby generating low-frequency information; generatingan edge image by detecting edges in one image among said digitized imageand said filtered images, excluding said low-frequency image; encodingsaid edge image, thereby generating edge information; and sending saidedge information and said low-frequency information to an input/outputdevice.
 37. The method of claim 36, wherein said low-pass filters haveeven symmetry.
 38. The method of claim 36, wherein detecting edgescomprises detecting variations in rate of change of intensity from pixelto pixel.
 39. The method of claim 36, wherein generating an edge imagecomprises: detecting edges in a horizontal direction, thereby generatinga horizontal edge image; and detecting edges in a vertical direction,thereby generating a vertical edge image.
 40. The method of claim 36,wherein generating an edge image comprises: generating a plurality ofedge images by detecting edges in a plurality of images among saiddigitized image and said filtered images, excluding said low-frequencyimage; and selecting one of said plurality of edge images.
 41. Themethod of claim 36, wherein generating an edge image comprises:selecting one image among said digitized image and said filtered images,excluding said low-frequency image; and detecting edges in said oneimage.
 42. The method of claim 36, said method being applied tosuccessive frames of a moving image, wherein the step of encoding saidedge image comprises: reading a previous edge image, pertaining to aprevious frame, from a first memory; generating edge motion vectors bydetecting motion of said edge image with respect to said previous edgeimage; encoding said edge motion vectors, thereby generating edge motioninformation as part of said edge information; generating an edgedifference image by detecting differences between said edge image andsaid previous edge image, over and above said motion of said edge image;and encoding said edge difference image, thereby generating edgedifference information as another part of said edge information.
 43. Themethod of claim 42, wherein encoding said edge image comprises thefurther steps of: decoding said edge difference information, therebygenerating a decoded edge difference image; adding said decoded edgedifference image to said previous edge image to generate a new edgeimage; and storing said new edge image in said first memory, for use asa previous edge image in a subsequent frame.
 44. The method of claim 42,wherein the step of encoding said reduced image comprises: reading aprevious reduced image, pertaining to said previous frame, from a secondmemory; generating low-frequency motion vectors by detecting motion ofsaid reduced image with respect to said previous reduced image; encodingsaid low-frequency motion vectors, thereby generating low-frequencymotion information as part of said low-frequency information; generatinga reduced difference image by detecting differences between said reducedimage and said previous reduced image, over and above said motion ofsaid reduced image; and encoding said reduced difference image, therebygenerating low-frequency difference information as another part of saidlow-frequency information.
 45. The method of claim 44, wherein encodingsaid reduced image comprises the further steps of: decoding saidlow-frequency difference information, thereby generating a decodedreduced difference image; adding said decoded reduced difference imageto said previous reduced image to generate a new reduced image; andstoring said new reduced image in said second memory, for use as aprevious reduced image in a subsequent frame.
 46. The method of claim44, wherein generating edge motion vectors comprises using saidlow-frequency motion vectors to select a range of search for said edgemotion vectors.
 47. The method of claim 44, wherein generatinglow-frequency motion vectors comprises using said edge motion vectors toselect a range of search for said low-frequency motion vectors.
 48. Amethod of reconstructing a digitized image from encoded edge informationand low-frequency information, comprising the steps of: generating ahorizontal edge image and a vertical edge image by decoding said edgeinformation; synthesizing a series of pairs of high-frequency images byfiltering said horizontal edge image horizontally with a series of edgesynthesis filters, and filtering said vertical edge image verticallywith said series of edge synthesis filters; generating a reduced imageby decoding said low-frequency information; up-sampling said reducedimage, thereby generating a low-frequency image equal in size to saidhigh-frequency images; performing an inverse wavelet transform on saidseries of pairs of high-frequency images and said low-frequency image,thereby obtaining said digitized image; and sending said digitized imageto an input/output device.
 49. The method of claim 48, wherein saidseries of edge synthesis filters is generated by filtering a standardedge, having just one sharp variation, by a corresponding series ofhigh-pass filters with progressively decreasing cut-off frequencies. 50.The method of claim 49, wherein said standard edge consists of a firstpart and a second part, with pixel values changing at one constant ratein said first part and at a different constant rate in said second part.51. The method of claim 49, wherein the step of performing an inversewavelet transform comprises filtering said pairs of high-frequencyimages by respective conjugate filters of said series of high-passfilters.
 52. The method of claim 49, wherein said high-pass filters haveeven symmetry.
 53. The method of claim 49, wherein said high-passfilters have odd symmetry.
 54. The method of claim 53, wherein filteringsaid pair of edge images by said edge synthesis filters comprises:taking differences between consecutive coefficients of said edgesynthesis filters, thereby generating a series of differential edgesynthesis filters; filtering said horizontal edge image horizontally bysaid differential edge synthesis filters, thereby synthesizing a seriesof differential high-frequency images; accumulating values in respectivehorizontal differential high-frequency images; filtering said verticaledge image vertically by said differential edge synthesis filters,thereby synthesizing a series of differential high-frequency images; andaccumulating values in respective vertical differential high-frequencyimages.
 55. The method of claim 48, said method being applied tosuccessive frames of an encoded moving image, wherein said edgeinformation comprises edge difference information and edge motioninformation, and decoding said edge information comprises: decoding saidedge difference information to obtain an edge difference image; decodingsaid edge motion information to obtain edge motion vectors; reading aprevious edge image, pertaining to a previous frame, from a thirdmemory; adding said edge difference image to said previous edge imageaccording to said edge motion vectors, to obtain a new edge image; andstoring said new edge image in said third memory for use as a previousedge image of a subsequent frame.
 56. The method of claim 55, whereinsaid low-frequency information comprises low-frequency differenceinformation and low-frequency motion information, and decoding saidlow-frequency information comprises: decoding said low-frequencydifference information to obtain a reduced difference image; decodingsaid low-frequency motion information to obtain low-frequency motionvectors; reading a previous reduced image, pertaining to said previousframe, from a fourth memory; adding said reduced difference image tosaid previous reduced image according to said low-frequency motionvectors, to obtain said reduced image; and storing said reduced image insaid fourth memory for use as a previous reduced image of a subsequentframe.
 57. A digital image encoder for encoding a digitized imageconsisting of pixels having pixel values, comprising: an input terminalfor receiving said digitized image; a smoothing filter coupled to saidinput terminal, for filtering said digitized image to generate alow-frequency image; a down sampler coupled to said smoothing filter,for down-sampling said low-frequency image to generate a reduced image;an edge detector coupled to said input terminal, for generating an edgeimage by detecting edge points in said digitized image; and an encodingsection coupled to said edge detector and said down sampler, forencoding said edge image and said reduced image.
 58. The digital imageencoder of claim 57, wherein said edge detector detects variations inrate of change of said pixel values from pixel to pixel.
 59. The digitalimage encoder of claim 57, wherein said smoothing filter is a low-passfilter with even symmetry.
 60. The digital image encoder of claim 58,wherein said low-pass filter satisfies an exact reconstructioncondition.
 61. A digital image encoder for encoding a digitized imageconsisting of pixels having pixel values, comprising: an input terminalfor receiving said digitized image; a series of smoothing filterscoupled to said input terminal, having progressively lower cut-offfrequencies, for filtering said digitized image to generate a series offiltered images culminating in a low-frequency image, which was filteredwith a lowest cut-off frequency among said cut-off frequencies; a downsampler coupled to a last one of said smoothing filters in said series,for down-sampling said low-frequency image to generate a reduced image;a plurality of edge detectors for generating respective edge images bydetecting edge points in a plurality of images among said digitizedimage and said filtered images, excluding said low-frequency image; aselector coupled to said plurality of edge detectors, for selecting anedge image from among said edge images; and an encoding section coupledto said selector and said down sampler, for encoding said edge image andsaid reduced image.
 62. The digital image encoder of claim 61, whereinsaid smoothing filters are coupled in cascade to said input terminal.63. The digital image encoder of claim 61, wherein said smoothingfilters are low-pass filters with even symmetry.
 64. The digital imageencoder of claim 61, wherein said edge detectors detect variations inrate of change of said pixel values from pixel to pixel.
 65. The digitalimage encoder of claim 61, wherein said encoding section comprises: anedge image encoder coupled to said selector, for encoding said edgeimage to generate edge information; a low-frequency image encodercoupled to said down sampler, for encoding said reduced image togenerate low-frequency information; and a multiplexer, coupled to saidedge image encoder and said low-frequency image encoder, formultiplexing said low-frequency information and said edge information.66. The digital image encoder of claim 61, wherein said digitized imageis a moving image consisting of successive frames, and said encodingsection comprises: a first memory for storing a previous edge image,pertaining to a previous frame among said frames; a first motionestimator coupled to said selector and said first memory, for detectingmotion of said edge image with respect to said previous edge image,generating edge motion vectors, detecting differences between said edgeimage and said previous edge image over and above said motion of saidedge image, and generating an edge difference image; a second memory forstoring a previous reduced image, pertaining to said previous frame; anda second motion estimator coupled to said down sampler and said secondmemory, for detecting motion of said reduced image with respect to saidprevious reduced image, generating low-frequency motion vectors,detecting differences between said reduced image and said previousreduced image over and above said motion of said reduced image, andgenerating a reduced difference image.
 67. The digital image encoder ofclaim 66, wherein: said first motion estimator is coupled to said secondmotion estimator; and said first motion estimator uses saidlow-frequency motion vectors to select a range of search for said edgemotion vectors.
 68. The digital image encoder of claim 66, wherein: saidfirst motion estimator is coupled to said second motion estimator; andsaid second motion estimator uses said edge motion vectors to select arange of search for said low-frequency motion vectors.
 69. The digitalimage encoder of claim 66, wherein said encoding section also comprises:a first difference encoder coupled to said first motion estimator, forencoding said edge difference image, thereby generating edge differenceinformation; a first difference decoder coupled to said first differenceencoder, for decoding said edge difference information, therebygenerating a decoded edge difference image; a first adder for addingsaid decoded edge difference image to said previous edge image togenerate a new edge image, and storing said new edge image in said firstmemory for use as a previous edge image in a subsequent frame among saidframes; a second difference encoder coupled to said second motionestimator, for encoding said reduced difference image, therebygenerating low-frequency difference information; a second differencedecoder coupled to said second difference encoder, for decoding saidlow-frequency difference information, thereby generating a decodedreduced difference image; a second adder for adding said decoded reduceddifference image to said previous reduced image to generate a newreduced difference image, and storing said new reduced difference imagein said second memory for use as a previous reduced image in saidsubsequent frame; a motion vector encoder coupled to said first motionestimator and said second motion estimator, for encoding said edgemotion vectors and said low-frequency motion vectors to generate motioninformation; and a multiplexer coupled to said motion vector encoder,said first difference encoder, and said second difference encoder, formultiplexing said motion information, said edge difference information,and said low-frequency information.
 70. A digital image encoder forencoding a digitized image consisting of pixels having pixel values,comprising: an input terminal for receiving said digitized image; aseries of smoothing filters coupled to said input terminal, havingprogressively lower cut-off frequencies, for filtering said digitizedimage to generate a series of filtered images culminating in alow-frequency image, which was filtered with a lowest cut-off frequencyamong said cut-off frequencies; a down sampler coupled to a last one ofsaid smoothing filters in said series, for down-sampling saidlow-frequency image to generate a reduced image; a selector coupled tosaid series of smoothing filters, for selecting an image from among saiddigitized image and said filtered images, excluding said low-frequencyimage; an edge detector coupled to said selector, for generating an edgeimage by detecting edge points in the image selected by said selector;and an encoding section coupled to said down sampler and said edgedetector, for encoding said edge image and said reduced image.
 71. Thedigital image encoder of claim 70, wherein said smoothing filters arecoupled in cascade to said input terminal.
 72. The digital image encoderof claim 70, wherein said smoothing filters are low-pass filters witheven symmetry.
 73. The digital image encoder of claim 70, wherein saidedge detector detects variations in rate of change of said pixel valuesfrom pixel to pixel.
 74. The digital image encoder of claim 70, whereinsaid encoding section comprises: an edge image encoder coupled to saidedge detector, for encoding said edge image to generate edgeinformation; a low-frequency image encoder coupled to said down sampler,for encoding said reduced image to generate low-frequency information;and a multiplexer, coupled to said edge image encoder and saidlow-frequency image encoder, for multiplexing said low-frequencyinformation and said edge information.
 75. The digital image encoder ofclaim 70, wherein said digitized image is a moving image consisting ofsuccessive frames, and said encoding section comprises: a first memoryfor storing a previous edge image, pertaining to a previous frame amongsaid frames; a first motion estimator coupled to said selector and saidfirst memory, for detecting motion of said edge image with respect tosaid previous edge image, generating edge motion vectors, detectingdifferences between said edge image and said previous edge image overand above said motion of said edge image, and generating an edgedifference image; a second memory for storing a previous reduced image,pertaining to said previous frame; and a second motion estimator coupledto said down sampler and said second memory, for detecting motion ofsaid reduced image with respect to said previous reduced image,generating low-frequency motion vectors, detecting differences betweensaid reduced image and said previous reduced image over and above saidmotion of said reduced image, and generating a reduced difference image.76. The digital image encoder of claim 75, wherein: said first motionestimator is coupled to said second motion estimator; and said firstmotion estimator uses said low-frequency motion vectors to select arange of search for said edge motion vectors.
 77. The digital imageencoder of claim 75, wherein: said first motion estimator is coupled tosaid second motion estimator; and said second motion estimator uses saidedge motion vectors to select a range of search for said low-frequencymotion vectors.
 78. The digital image encoder of claim 75, wherein saidencoding section also comprises: a first difference encoder coupled tosaid first motion estimator, for encoding said edge difference image,thereby generating edge difference information; a first differencedecoder coupled to said first difference encoder, for decoding said edgedifference information, thereby generating a decoded edge differenceimage; a first adder for adding said decoded edge difference image tosaid previous edge image to generate a new edge image, and storing saidnew edge image in said first memory for use as a previous edge image ina subsequent frame among said frames; a second difference encodercoupled to said second motion estimator, for encoding said reduceddifference image, thereby generating low-frequency differenceinformation; a second difference decoder coupled to said seconddifference encoder, for decoding said low-frequency differenceinformation, thereby generating a decoded reduced difference image; anadder for adding said decoded reduced difference image to said previousreduced image to generate a new reduced difference image, and storingsaid new reduced difference image in said second memory for use as aprevious reduced image in said subsequent frame; a motion vector encodercoupled to said first motion estimator and said second motion estimator,for encoding said edge motion vectors and said low-frequency motionvectors to generate motion information; and a multiplexer coupled tosaid motion vector encoder, said first difference encoder, and saidsecond difference encoder, for multiplexing said motion information,said edge difference information, and said low-frequency information.79. A digital image decoder for reconstructing a digitized image fromencoded edge information and low-frequency information, comprising: adecoding section for decoding said edge information to generate ahorizontal and vertical pair of edge images, and decoding saidlow-frequency information to generate a reduced image; an up samplercoupled to said decoding section, for up-sampling said reduced image togenerate a low-frequency image equal in size to said edge images; anedge synthesizer coupled to said decoding section, for synthesizing apair of high-frequency images by filtering said pair of edge images withan edge synthesis filter; and an inverse wavelet transform processor,coupled to said up sampler and said edge synthesizer, for performing aninverse wavelet transform on said decoded low-frequency image and saidpair of high-frequency images, thereby obtaining said digitized image.80. The digital image decoder of claim 79, wherein said edge synthesisfilter has coefficients that are generated by using a high-pass filterto filter a standard edge.
 81. The digital image decoder of claim 80,wherein said standard edge consists of a first part and a second part,with pixel values that vary at one constant rate in said first part andat a different constant rate in said second part.
 82. The digital imagedecoder of claim 80, wherein said high-pass filter satisfies a completereconstruction condition.
 83. The digital image decoder of claim 80,wherein said inverse wavelet transform processor filters said pair ofhigh-frequency images by a conjugate of said high-pass filter.
 84. Thedigital image decoder of claim 80, wherein said high-pass filter haseven symmetry.
 85. The digital image decoder of claim 80, wherein saidhigh-pass filter has odd symmetry.
 86. The digital image decoder ofclaim 85, wherein said edge synthesizer comprises: a pair ofdifferential edge synthesizers for filtering respective edge images by afilter having coefficients equal to differences between consecutivecoefficients of said edge synthesis filter, thereby generating a pair ofdifferential high-frequency image; and a pair of accumulators foraccumulating values in respective differential high-frequency images.87. A digital image decoder for reconstructing a digitized image from anencoded image consisting of edge information and low-frequencyinformation, comprising: a decoding section for decoding said edgeinformation to generate a pair of edge images, comprising a horizontaledge image and a vertical edge image, and decoding said low-frequencyinformation to generate a reduced image; an up sampler, coupled to saiddecoding section, for up-sampling said reduced image to generate adecoded low-frequency image equal in size to said edge images; aplurality of edge synthesizers, each coupled to said edge informationdecoder having respective edge synthesis filters, for synthesizing aseries of pairs of high-frequency images by filtering said horizontaledge image horizontally and said vertical edge image vertically withsaid edge synthesis filters; and an inverse wavelet transform processor,coupled to said up sampler and said plurality of edge synthesizers, forperforming an inverse wavelet transform on said decoded low-frequencyimage and said series of pairs of high-frequency images.
 88. The digitalimage decoder of claim 87, wherein said edge synthesis filters havecoefficients generated by filtering a standard edge with respectivehigh-pass filters having progressively decreasing cut-off frequencies.89. The digital image decoder of claim 88, wherein said standard edgeconsists of a first part and a second part, with pixel values that varyat one constant rate in said first part and at a different constant ratein said second part.
 90. The digital image decoder of claim 88, whereinsaid inverse wavelet transform processor filters said pairs ofhigh-frequency images by conjugate filters of respective high-passfilters.
 91. The digital image decoder of claim 88, wherein saidhigh-pass filters have even symmetry.
 92. The digital image decoder ofclaim 88, wherein said high-pass filters have odd symmetry.
 93. Thedigital image decoder of claim 92, wherein each of said edgesynthesizers separately comprises: a pair of differential edgesynthesizers for filtering said horizontal edge image horizontally andsaid vertical edge image vertically by a filter having coefficientsequal to differences between consecutive coefficients of said edgesynthesis filter, thereby generating a pair of differentialhigh-frequency images; and a pair of accumulators for accumulatingvalues in respective differential high-frequency images.
 94. The digitalimage decoder of claim 87, wherein said decoding section comprises: anedge information decoder, for generating said pair of edge images bydecoding said edge information; and a low-frequency information decoder,for generating said reduced image by decoding said low-frequencyinformation.
 95. The digital image decoder of claim 87, wherein: saidencoded image is an encoded moving image comprising successive frames;said edge information comprises edge motion information and edgedifference information; said low-frequency information compriseslow-frequency motion information and low-frequency differenceinformation; and said decoding section performs motion compensation. 96.The digital image decoder of claim 95, wherein said decoding sectioncomprises: a third difference decoder for decoding said edge differenceinformation to obtain an edge difference image; a motion informationdecoder for decoding said edge motion information and said low-frequencymotion information to obtain edge motion vectors and low-frequencymotion vectors; a fourth difference decoder for decoding saidlow-frequency difference information to obtain a reduced differenceimage; a third memory for storing a previous edge image, pertaining to aprevious frame among said frames; a first motion compensator coupled tosaid third difference decoder, said motion information decoder, and saidthird memory, for adding said edge difference image to said previousedge image according to said edge motion vectors to generate a new edgeimage, storing said new edge image in said third memory for use as aprevious edge image in a subsequent frame among said frames, andgenerating said pair of edge images; a fourth memory for storing aprevious reduced image pertaining to said previous frame; and a secondmotion compensator coupled to said motion information decoder, saidfourth difference decoder, and said fourth memory, for adding saidreduced difference image to said previous reduced image according tosaid low-frequency motion vectors, thereby generating said reducedimage, and storing said reduced image in said fourth memory for use as aprevious reduced image in said subsequent frame.